/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.siseventos.dao;

import br.siseventos.dao.util.HibernateUtil;
import br.siseventos.model.TbAtividade;
import br.siseventos.model.TbEvento;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

/**
 *
 * @author marcosnatanpacheco
 */
public class AtividadeDao extends BaseDao<TbAtividade>  {
    // <editor-fold desc="Extensão"
    public List<TbAtividade> consultar(TbEvento evento) throws Exception{
        Session sessao = HibernateUtil.getSession();
        Transaction t = null;
        List<TbAtividade> l = null;
        try {
            t = sessao.beginTransaction();
            Criteria c = sessao.createCriteria(TbAtividade.class);
            
            // Adicionado os criterios da pesquisa por data
            c.add(Restrictions.eq("tbEvento", evento));
            
            // Retornar mais recentes primeiro
            c.addOrder(Order.desc("dtaInicioAtividade"));
            l = (List<TbAtividade>) c.list();
            t.commit();
        } catch (Exception e) {
            if (t != null) {
                try {
                    t.rollback();
                } catch (Exception ex) {
                    throw ex;
                }
            }
        } finally {
            if (sessao != null) {
                sessao.close();
            }
        }
        return l;
    }
    // </editor-fold>
}
